Featurespace: Lessons from 100 K-Loc image/svg+xml Events Events with risk scores ARIC™ UIServer UIClient Fraudanalyst Analyticsspecialist Lessons from100+ K-Loc Elmin Production 50 K-LocJavaScript 130 Routing table patterns 80+ Ports 130 K-Loc Elm || 2015 2016 2017 2018 2019 0 250k 125k 2014 AngularJS 1.x Elm 0.18≃130 K Loc Angular 2.0 announced Angular 2.0 finally relased Elm branch merged into master Time to move on Elm takes control Testing &refactoring Learning to Elm Challenges and solutions Elm & AngularBuilding on CIHiring staffCompilation time Conclusions Elm was a good choice for our situationDeveloper workflowWorking as a teamManaging complexityImproving over time Unit tests Functional tests CompilerChecks Fortunately Immutable dataPure functionsStrongly typedNo runtime exceptionsGreat runtime performance Lines of code Decio Ferreiradecio.ferreira@featurespace.co.uk@deciojf Mark Skippermmark.skipper@featurespace.co.uk@axiologic We're hiring Cambridge Elm Port Angular requestAnimationFrame(...) View Update I am mighty Fortunately
1
  1. Title
  2. Clients
  3. Overview
  4. Users
  5. Overview
  6. Statistics
  7. Log in
  8. All screens 2
  9. Rules editor
  10. Rules editor
  11. Timeline
  12. Initial Dev / Angular 1 -> 2
  13. Time to move on
  14. Options
  15. Choosing Elm
  16. Elm in master
  17. Elm takes control
  18. Team members
  19. Thomas
  20. Testing & Refactoring
  21. Tests
  22. create-user
  23. password field
  24. Debounce
  25. Wattle and Daub
  26. Testing
  27. Busy
  28. Copy & Paste
  29. Copy, Paste and Compile
  30. Fortunately
  31. I am mighty
  32. With great power
  33. Managing Complexity
  34. LearningToElm
  35. Challenges
  36. Elm and Angular
  37. Request Animation Frame
  38. Angular Renders
  39. Controlling Angular Content with CSS
  40. Challenges
  41. Conclusions
  42. We're hiring